# 给你两个字符串：ransomNote 和 magazine ，判断 ransomNote 能不能由 magazine 里面的字符构成。

# 如果可以，返回 true ；否则返回 false 。

# magazine 中的每个字符只能在 ransomNote 中使用一次。

 

# 示例 1：

# 输入：ransomNote = "a", magazine = "b"
# 输出：false
# 示例 2：

# 输入：ransomNote = "aa", magazine = "ab"
# 输出：false
# 示例 3：

# 输入：ransomNote = "aa", magazine = "aab"
# 输出：true

# hash表
class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        dic = {}
        for key in ransomNote:
            if not dic.get(key):
                dic[key] = 1
            else: dic[key] += 1

        for key in magazine:
            if dic.get(key):
                dic[key] -= 1
        
        for key in dic:
            if dic[key] != 0:
                return False
        return True 